/**
 * @file defaults.h
 * @brief Project constants definition
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 3 of the License.
 *
 * @author VestniK (Sergey N.Vidyuk)
 */
#ifndef _defaults_H_
#define _defaults_H_

// Network constants
/// @brief Default port
#define DEFAULT_PORT 30000

// Game constants
/**
 * @brief Number of palyers in game.
 *
 * There should be four players to play mahjong.
 */
#define PLAYERS_COUNT 4
/**
 * @brief Minimum number of regulair tile
 *
 * Each regulair tile (Dot Bamboo and Character) have number in range from 1 to
 * 9 associated with it.
 * @sa MAX_TILE_NUMBER
 */
#define MIN_TILE_NUMBER 1
/**
 * @brief Maximum number of regulair tile
 *
 * Each regulair tile (Dot Bamboo and Character) have number in range from 1 to
 * 9 associated with it.
 * @sa MIN_TILE_NUMBER
 */
#define MAX_TILE_NUMBER 9
/**
 * @brief How many times each game tile repeated
 *
 * Each non-bonus (not Season or Flower) tile repeated 4 times in wall.
 */
#define TILE_REPEAT_NUMBER 4
/**
 * @brief Minimum size of the wall
 *
 * Round is failed if wall contain only 14 tiles and nobody build mahjong according to traditional chineese rules.
 * */
#define MINIMUM_WALL_SIZE 14
/**
 * @brief Nomber of tiles in game
 *
 * Total ammount of tiles in game should be 144 in traditional chineese rules.
 */
#define TILE_COUNT 144
/**
 * @brief Nomber of tiles in dead end
 *
 * Maximum number of tiles in dead end.
 */
#define DEAD_END_SIZE 2
/**
 * @brief Correct ammount of tiles in hand
 *
 * Nuber of tiles in player's hand. If player have more or less tiles after his turn he hailed to be "Dead Hand".
 */
#define HAND_SIZE 13

#endif // _defaults_H_
